
#ifndef LoggerManager_h__
#define LoggerManager_h__

#include "boost/smart_ptr/scoped_ptr.hpp"
#include <vector>
#include "boost/thread.hpp"
#include "BaseLogger.h"

class LoggerManager : public ILoggerManager
{
public:
	LoggerManager();
	~LoggerManager();

public:
	bool Init(const char * pszLoggerFile);

	ILogger* getLogger(const char * pszLogName);

private:
	void LogThreadProc();

private:
	std::vector<BaseLogger*>			  m_Loggers;
	BaseLogger							  *m_pDefaultLogger;
	boost::scoped_ptr<boost::thread>	  m_log_thread;
	bool								  m_bQuit;
};

#endif // LoggerManager_h__

